package com.datastructures.sort;

/**
 * 选择排序
 * @author MaoLin Wang
 * @date 2019/10/2811:24
 */
public class SelectSort {
    public static void main(String[] args) {
        //int[] array={101,222,119,1};
        int[] array =new int[100000];
        for (int i=0;i<100000;i++){
            array[i]=(int)(Math.random()*100000);
        }

        long begintime=System.currentTimeMillis();
        System.out.println("开始时间"+begintime);

        SelectSort.selectSort(array);
        long endtime=System.currentTimeMillis();
        System.out.println("结束时间"+endtime);
        System.out.println("用时："+(endtime-begintime)+"ms");

    }
    public static void selectSort(int[] arr){

        for (int i=0;i<arr.length-1;i++){
            int minIndex=i;
            int min=arr[i];
            for (int j=i+1;j<arr.length;j++){
                if (min>arr[j]){
                    min=arr[j];
                    minIndex=j;
                }
            }

            //将最小值放在arr[0]。即交换
            if (minIndex!=i){
                arr[minIndex]=arr[i];
                arr[i]=min;
            }
            //System.out.println("第"+(i+1)+"轮后结果");
            //System.out.println(Arrays.toString(arr));
        }
    }
}
